Міністерство освіти і науки України
Національний університет «Львівська політехніка»
кафедра САПР
Звіт
до лабораторної роботи №6
на тему:
«ОПТИМІЗАЦІЯ МОДЕЛІ НЕЙРОННОЇ МЕРЕЖІ
ГЕНЕТИЧНИМИ АЛГОРИТМАМИ У СЕРЕДОВИЩІ MATLAB»
Виконав: cт. гр. КН-3
Львів-2008
МЕТА РОБОТИ
Вивчити і закріпити знання та основні аспекти роботи, а також отримати практичні навички оптимізації моделі нейронної мережі за допомогою генетичних алгоритмів у середовищі програми Matlab.
ТЕОРИТИЧНІ ВІДОМОСТІ
Реалізація генетичних алгоритмів у середовищі Matlab.
Генетичні алгоритми і графічне меню прямого пошуку. Генетичні алгоритми і графічне меню прямого пошуку – це набір функцій, які розширюють можливості графічного меню оптимізації і обчислювального числового середовища програми Matlab. Генетичні алгоритми і графічне меню прямого пошуку включають програму для розв’язання задач оптимізації, використовуючи генетичні алгоритми прямого пошуку. Алгоритми дають можливість розв’язувати низку задач оптимізації, які знаходяться за межами стандартного графічного меню оптимізації. Всі функції графічного меню інструментів – це М-файли Matlab, сформовані з тверджень Matlab, які реалізують спеціалізовані алгоритми оптимізації. Коди Matlab для цих функцій можна побачити, використовуючи протокол (твердження) type function_name.Можливості генетичних алгоритмів і графічного меню прямого пошуку можна розширити, написавши власні М-файли або використовуючи панель інструментів в комбінації з Simulink.
Запуск генетичних алгоритмів. Щоб запустити генетичні алгоритми, треба натиснути на клавішу Start y режимі Ran solver. Після цього в полі Current generations буде показаний номер поточного покоління. Поля Status і Results покажуть повідомлення "GA runnig". Коли робота алгоритму припиняється, поля Status і Results показують повідомлення "GA terminated". Поки алгоритми запускаються, параметри в панелі інструментів можна змінювати. Зміни будуть прийняті в наступному поколінні. Поки зміни, які з’являються на початку наступного покоління, не будуть прийняті, поля Staus і Results генерують повідомлення Changes pending. На початку наступного покоління з’являється повідомлення Changes applied.
Написання М-файлів для функцій, які треба оптимізувати. Для використання генетичних алгоритмів і графічного меню прямого пошуку спочатку треба написати М-файл, який обчислює функцію, що має бути оптимізована. М-файл повинен бути вектором-рядком, довжина якого дорівнює числу незалежних змінних для цільової функції, і повертатися скалярною величиною.
Припустимо, що треба мінімізувати функцію. М-файл, який обчислює цю функцію, повинен бути вектором-рядком x довжини 2, відповідаючи змінним EMBED Equation.3 і EMBED Equation.3 , і повертати скалярну величину, рівну значенню функції в точці x. Для того, щоб написати М-файл, необхілно виконати такі кроки:
1. Вибрати команду New у файловому меню Matlab.
2. Вибрати М-файл. Ця команда відкриває новий М-файл у редакторі.
3. В М-файлі ввести такі два рядки кодів:
function z = my_fun(x)
z = x(1) ^2 - 2*x(1) *x(2)+ 6*x(1)+ x(2) ^2 - 6*x(2);
4. Зберегти М-файл у папці на шляху Matlab.
Для того, щоб перевірити, що М-файл повертає правильне значення, треба ввести my_fun([2 3]). Отримана відповідь буде мати такий вигляд: ans =-5.
Примітка. Не слід використовувати Editor/Debugger для того, щоб виправити несправності М-файлу для цільової функції під час роботи панелі графічного алгоритму або меню пошуку за шаблоном. Це призводить до появи повідомлень на мові Java в командному вікні і ускладнює виправлення несправностей.
Виклик генетичних алгоритмів. Існує два шляхи: генетичні алгоритми можна викликати за допомогою панелі інструментів:
викликаючи функцію генетичних алгоритмів ga в командному рядку;
використовуючи меню генетичних алгоритмів та графічний інтерфейс для генетичних алгоритмів.
Для того, щоб викликати г...